考題日期:2012/12/18
題號:1210
星等:2
語言:C++
題目:
題意:
輸入一數字後,找出其有幾種連續質數和組合。
程式:
#include <iostream>
using namespace std;
int main()
{
int prime[10000];
prime[0] = 2;
int k = 1;
int test;
for( int i = 3; i < 10000 ; i++)
{
for(int j = 2 ; j < i; j++)
{
if(i % j == 0)
break;
if(j == i-1)
{
prime[k] = i;
k++;
break;
}
}
}
while(cin>>test)
{
int sum = 0 , c = 0 , j = 0;
if(test == 0)
break;
for(int i = 0 ; test >= prime[i] ; i++)
{
sum += prime[i];
while(sum > test)
{
sum -= prime[j];
j++;
}
if(sum == test)
c++;
}
cout << c << endl;
}
}
測資: